#ifndef COMMON_H
#define COMMON_H

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <windows.h>

// 物品结构体
typedef struct {
    int id;         // 物品编号
    int weight;     // 物品重量
    double value;   // 物品价值
} Item;

// 结果结构体
typedef struct {
    double total_value;     // 总价值
    int* selected_items;    // 选中的物品编号数组
    int selected_count;     // 选中的物品数量
    double time_taken;      // 执行时间(ms)
    size_t memory_used;     // 内存使用(bytes)
} Result;

// 函数声明
void generate_data(int n, const char* filename);
Item* read_data(const char* filename, int* n);
void free_items(Item* items);
void print_result(Result* result, const char* algorithm_name);
void save_result(Result* result, const char* algorithm_name, int n, int capacity, const char* filename);

#endif // COMMON_H 